package com.wicket.okrbff.biz.service.dto.req;

import com.wicket.okrbff.biz.service.dto.common.BffBusAppDocRelaDto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import javax.validation.constraints.NotNull;
import lombok.Data;

/**
 * @desc BffAddPlanDataReqDto
 * @使用场景
 */
@Data
public class BffAddPlanDataReqDto implements Serializable {

  /**
   * 规划编号
   */
  @NotNull(message = "规划编号不能为空")
  @ApiModelProperty("规划编号")
  private String planningNumber;

  /**
   * 规划名称
   */
  @NotNull(message = "规划名称不能为空")
  @ApiModelProperty("规划名称")
  private String planningName;

  /**
   * 规划简称
   */
  @NotNull(message = "规划简称不能为空")
  @ApiModelProperty("规划简称")
  private String planningShortName;

  /**
   * 超文本内容
   */
  @NotNull(message = "超文本内容不能为空")
  @ApiModelProperty("超文本内容")
  private String hypertextContent;

  /**
   * 规划方案类别 MASTER_PLAN:总规划 SUB_PLAN:分规划 LITTLE_PLAN:子规划
   */
  @NotNull(message = "规划方案类别不能为空")
  @ApiModelProperty("规划方案类别")
  private String planSchemeClass;

  /**
   * 被评对象目标周期ID
   */
  @NotNull(message = "被评对象目标周期ID不能为空")
  @ApiModelProperty("被评对象目标周期ID")
  private String evaObjTargetCycleId;

  /**
   * 关联目标分类ID
   */
  @ApiModelProperty("关联目标分类ID")
  private String targetCategoryId;

  /**
   * 牵头部门ID
   */
  @NotNull(message = "牵头部门ID不能为空")
  @ApiModelProperty("牵头部门ID")
  private String deptId;

  /**
   * 冗余内容表主键ID
   */
  @NotNull(message = "目标ID不能为空")
  @ApiModelProperty("目标ID")
  private String entityId;

  /**
   * 冗余评价模板ID
   */
  @NotNull(message = "冗余评价模板ID不能为空")
  @ApiModelProperty("冗余评价模板ID")
  private String evaluationTemplateId;

  @ApiModelProperty("业务应用文档关系列表 ")
  private List<BffBusAppDocRelaDto> busAppDocRelaList = new ArrayList<>();

}
